Skip to content

feat(review-reminders): edge to edge support - #21582

Merged
david-allison merged 6 commits into
ankidroid:mainfrom
david-allison:edge-to-edge-schedule-reminders-cleanup
Aug 30, 2026
Merged

feat(review-reminders): edge to edge support#21582
david-allison merged 6 commits into
ankidroid:mainfrom
david-allison:edge-to-edge-schedule-reminders-cleanup

Conversation

@david-allison

@david-allison david-allison commented Aug 23, 2026

Copy link
Copy Markdown
Member

Note

Assisted-by: Claude Fable 5

Purpose / Description

ScheduleRemindersFragment and ReminderTroubleshootingFragment needed edge to edge support

Fixes

Approach

Before starting, consume the insets which will be passed to the fragments, then set the insets on a per-element basis.

There was lots of experimentation here to get the screenshots working correctly (ensuring the toolbars extended into the cutouts, ensuring scrolling), each is split into a separate commit.

I have a follow-up implemented for 'Settings', but this PR is already too large:

How Has This Been Tested?

Screenshot tests are added.

API 37

image
image
image ---- image

Learning

  • FragmentHost made this difficult

Checklist

  • You have a descriptive commit message with a short title (first line, max 50 chars).
  • You have commented your code, particularly in hard-to-understand areas
  • You have performed a self-review of your own code
  • UI changes: include screenshots of all affected screens (in particular showing any new or changed strings)
  • UI Changes: You have tested your change using the Google Accessibility Scanner

@github-actions

github-actions Bot commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Snapshot diff report vs main. Open screenshot-diff for diffs.

  • ReviewRemindersScreenshotTest: 6 changes
All 6 changed screenshots

ReviewRemindersScreenshotTest

  • settingsHostTablet_troubleshooting_compare.png
  • settingsHost_landscapeCutout_collapsed_compare.png
  • settingsHost_landscapeCutout_compare.png
  • settingsHost_landscapeCutout_rtl_compare.png
  • standaloneActivityHost_systemBars_compare.png
  • standaloneActivityHost_systemBars_scrolledToEnd_compare.png

@david-allison david-allison added the Needs Author Reply Waiting for a reply from the original author label Aug 23, 2026
@david-allison

This comment was marked as resolved.

@david-allison
david-allison force-pushed the edge-to-edge-schedule-reminders-cleanup branch 2 times, most recently from e0780d1 to b42c9cf Compare August 24, 2026 00:34
@david-allison david-allison added Blocked by dependency Currently blocked by some other dependent / related change and removed Needs Author Reply Waiting for a reply from the original author labels Aug 24, 2026
@david-allison
david-allison marked this pull request as draft August 24, 2026 00:36
@david-allison david-allison added Needs Author Reply Waiting for a reply from the original author and removed Blocked by dependency Currently blocked by some other dependent / related change labels Aug 26, 2026
@david-allison
david-allison force-pushed the edge-to-edge-schedule-reminders-cleanup branch from b42c9cf to 74918b8 Compare August 26, 2026 21:29
@david-allison david-allison added Review High Priority Request for high priority review and removed Needs Author Reply Waiting for a reply from the original author labels Aug 26, 2026
@david-allison
david-allison marked this pull request as ready for review August 26, 2026 21:48
@david-allison

david-allison commented Aug 26, 2026

Copy link
Copy Markdown
Member Author

Investigating:

Fixed

Snackbar should use the inset.

EDIT: This is screenshot-only

settingsHost_landscapeCutout_collapsed_compare

Bad alignment of the text and the back arrow

standaloneActivityHost_troubleshooting_systemBars_compare

@ericli3690 I feel this one is better

settingsHostTablet_troubleshooting_compare

@david-allison
david-allison force-pushed the edge-to-edge-schedule-reminders-cleanup branch from 072d90b to f3e14a0 Compare August 26, 2026 23:37
@ericli3690

ericli3690 commented Aug 27, 2026

Copy link
Copy Markdown
Member

@david-allison Regarding the screenshot comparison you've annotated with "I feel this one is better": I do agree the padding change looks fine. I'm curious though if it's inconsistent with the title padding on the other Settings screens (ex. Reviewing, General). In particular, does the title padding noticeably change when transitioning from the Schedule Reminders page to the Troubleshooting page? If not then LGTM on that front

Will do a full review of this PR starting now

Edit: unit tests failing with legitimate failure

@david-allison
david-allison force-pushed the edge-to-edge-schedule-reminders-cleanup branch from f3e14a0 to 010e7e7 Compare August 27, 2026 23:05
@david-allison

Copy link
Copy Markdown
Member Author

Fixed, sorry!

@ericli3690 ericli3690 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!! Thanks for taking this on, really appreciate it. Tested on my phone and tablet and it looks good. Ping me on the Settings / Preferences + SingleFragmentActivity e2e migrations when they're ready and I'll take a look at those too, thanks thanks

Comment thread AnkiDroid/src/main/java/com/ichi2/anki/utils/Insets.kt Outdated
@ericli3690 ericli3690 added Needs Second Approval Has one approval, one more approval to merge and removed Needs Review labels Aug 28, 2026
@david-allison

Copy link
Copy Markdown
Member Author

Cheers! I don't want to mark this as awaiting my reply, but I'd like to get to these nitpicks before merge

The fragments now unconditionally fit the system windows:
 the host activities consume the insets.

Issue 17334
Part of 21519

Assisted-by: Claude Fable 5
Part of 17334
Part of 21519

Assisted-by: Claude Fable 5
* Removes the black bar in landscape mode
* Troubleshooting content renders underneath the bottom bar

Part of 17334
Part of 21519

Assisted-by: Claude Fable 5
The content of the toolbar in landscape mode of a phone overlapped with
the display cutout.

Part of 17334

Assisted-by: Claude Fable 5
The decor consumed the navigation bar inset, so scrolled content
 did not render underneath the nav bar.

Part of 17334
Fixes 21519

Assisted-by: Claude Fable 5
BaseTransientBottomBar uses the deprecated `systemWindowInsets` accessors
which include the display cutout on a real device.

In tests, we manually add the cutout to the navigationBars() to simulate this

Part of 17334
Part of 21519

Assisted-by: Claude Fable 5
@david-allison
david-allison force-pushed the edge-to-edge-schedule-reminders-cleanup branch from 010e7e7 to 79c9309 Compare August 28, 2026 18:31
@david-allison

Copy link
Copy Markdown
Member Author

@ericli3690 handled, re-review if you wish

@ericli3690 ericli3690 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yep, looks awesome to me! Thanks thanks again

@david-allison
david-allison added this pull request to the merge queue Aug 30, 2026
Merged via the queue into ankidroid:main with commit 8481688 Aug 30, 2026
21 checks passed
@github-actions github-actions Bot added this to the 2.25 release milestone Aug 30, 2026
@github-actions github-actions Bot removed Review High Priority Request for high priority review Needs Second Approval Has one approval, one more approval to merge labels Aug 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Edge to edge: clean up ScheduleRemindersFragment

2 participants